#pragma once

#include <cstdint>

namespace vex { namespace iterable {
    enum class range_state : std::int32_t {
        not_started = 0,
        started,
        ended
    };

    inline char const* to_string(range_state const & p_state) 
    {
        switch (p_state) {
        case range_state::not_started: return "not_started";
        case range_state::started: return "started";
        case range_state::ended: return "ended";
        default: return "undefined";
        }
    }
}}